using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace 第二课
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGet("/", async context =>
                {
                    //添加该行代码 解决中文乱码问题!!!
                    context.Response.ContentType = "text/plain;charset=utf-8";

                    //1、定义一个变量赋值为自己的学号姓名，并在页面输出显示。
                    string _1name = "顾庆";
                    string _1no = "100001";
                    await context.Response.WriteAsync($"你好，{_1name}，{_1no}\n");

                    //3、调用题2的函数，并且接收返回值，输出在页面
                    var _2time = _time();
                    await context.Response.WriteAsync($"{_1name}，{_2time}\n");

                    //4
                    Student stu1 = new Student();
                    stu1.Id = 2206200;
                    stu1.Name = "张某";
                    string word1 = stu1._say();
                    await context.Response.WriteAsync(word1);
                    Student stu2 = new Student();
                    string word2 = stu2._say();
                    await context.Response.WriteAsync(word2);

                    //5、实例化题4的类，实现以下要求：
                    //5.1 以自己的信息为实例化的对象赋值
                    //5.2 调用Say方法，或者自我介绍字符串，输出页面。
                    Student stu3 = new Student();
                    stu3.Name = "梁广聪";
                    stu3.Id = 200203;
                    string word3 = stu3._say();
                    await context.Response.WriteAsync(word3);

                });
            });
        }

        public string _time()
        {
            //2、定义一个函数，获取返回当前的时间，并且判断当前时间是上午/下午/晚上,并且返回如例的字符串：“早上好，当前时间是2023年10月1日 15时23分”。
            var dt = DateTime.Now;
            var hh = dt.Hour;
            var _text = "";
            if (hh < 12 && hh > 6)
            {
                _text = "早上好";
            }
            else if (hh < 18 && hh >= 12)
            {
                _text = "下午好";
            }
            else
            {
                _text = "晚上好";
            }
            //await context.Response.WriteAsync($"{_1name}，{_text}");
            return _text + "，现在时间是：" + dt.ToString("yyyy年MM月dd日 HH时mm分");
        }


    }
    //4、定义一个学生类，实现下列要求
    //4.1 该类有以下属性，学生学号，学生姓名，学生班级，学生的出生年月，学生的籍贯
    //4.2 该类有两个构造函数，第一个是无参构造函数，第二个是构造函数需要传入学生学号，学生姓名。
    //4.3 该类有一个方法Say,方法返回学生的自我介绍信息，例：
    //“大家好，我是来自广东肇庆的赵子龙，我的学号是1406200115，我今年20岁。”
    public class Student
    {
        //学生学号
        public int Id { get; set; }
        //学生姓名
        public string Name { get; set; }
        //学生班级
        public string CClass { get; set; }
        //出生年月
        public string Birthday { get; set; }
        //籍贯
        public string Place { get; set; }

        public Student() 
        {
            Id = 2002003;
            Name = "张三";
            CClass = "软件B班";
            Birthday = "2004年1月";
            Place = "广东";
        }
        public Student(int id,string na)
        {
            Id = id;
            Name = na;
            CClass = "软件C班";
            Birthday = "2003年12月";
            Place = "广东";
        }
        public string _say()
        {
            return "我是" + Name + "," + Id + ",来自" + CClass + ",是" + Birthday + "出生," + Place + "人\n";
        }
    }
}
